package cn.ctyun.videoplayer.controller;

import android.graphics.Bitmap;

import cn.ctyun.videoplayer.bean.MarqueeTextDetail;
import cn.ctyun.videoplayer.bean.WaterMarkTextDetail;
import cn.ctyun.videoplayer.listener.MarqueeViewListener;
import cn.ctyun.videoplayer.listener.OnPauseAdClickListener;
import cn.ctyun.videoplayer.listener.OnProgressChangeListener;

public interface BaseMediaPlayerControlInterface {

    void start();

    void pause();

    void stop();

    /**
     * 获取视频总时长
     * @return
     */
    long getDuration();

    /**
     * 获取视频播放位置
     * @return
     */
    long getCurrentPosition();

    void seekTo(long pos);

    boolean isPlaying();

    int getBufferedPercentage();

    void startFullScreen();

    void stopFullScreen();

    boolean isFullScreen();

    /**
     *  横竖屏切换
     */
    void doStartStopFullScreen();

    String getTitle();

    void setMute(boolean isMute);

    boolean isMute();

    void setLock(boolean isLocked);

    void setScreenScale(int screenScale);

    void retry();

    void setSpeed(float speed);

    float getSpeed();

    long getTcpSpeed();

    void refresh();

    void setMirrorRotation(boolean enable);

    Bitmap doScreenShot();

    int[] getVideoSize();

    void setRotation(float rotation);

    void setPauseAd(String url);

    String getPauseAdUrl();

    OnPauseAdClickListener getOnPauseAdClickListener();

    OnProgressChangeListener getOnProgressChangeListener();

    MarqueeViewListener getMarqueeViewListener();

    void hidePausedAd();

    long getPlayableVideoDuration();

    void setPlayableVideoDuration(long sec);

    void setThumbUrl(String thumbUrl);

    String getThumbUrl();

    WaterMarkTextDetail getWatermark();

    void setWatermark(WaterMarkTextDetail watermark);

    MarqueeTextDetail getMarqueeText();

    void setMarqueeText(MarqueeTextDetail marqueeText);

    void setFullScreenPortrait(boolean enable);

    boolean isFullScreenPortrait();
}